The 1990's decade has been marked by a technological revolution driven by the convergence of the data processing industry with the consumer electronics industry. The effect has in turn driven technologies which have been known and available but relatively quiescent over the years. Two of these technologies are the Internet related distribution and object oriented programming systems. The computer and communications industries have extensively participated in the development and continual upgrading of object oriented programming systems, such as the Java system. For details and background with respect to object oriented programming systems, such as the Java programming system, C++ and others, reference may be made to some typical texts: Just Java, 2nd Edition, Peter van der Linden, Sun Microsystems, 1997; Thinking in Java, Bruce Eckel, Prentice Hall PTR, 1998; and Objects, Components and Frameworks with UML, Desmond F. D'Sousa et al., Addison-Wesley, 1998. The convergence of the electronic entertainment and consumer industries with data processing has exponentially accelerated the demand for wide ranging communications distribution channels and the World Wide Web (Web) or Internet, which had quietly existed for over a generation as a loose academic and government data distribution facility, reached “critical mass” and commenced a period of phenomenal expansion, which has not as yet abated.
With the expanded accessibility of hundreds of thousands of programmers, information distributors and users to each other, not to mention to potential users of such programs via the expanded Internet client base, an obvious need became apparent: cooperative program systems in a distributed programming environment. Object oriented programming offered the solution. With its potentially interchangeable objects or units within which both data attributes and functions were stored in a predefined uniform framework, as well as the predefined object interfaces with each other, object oriented programming systems have found acceptance as the programming system for the Internet. In all areas of data processing and communications, as well as the electronic entertainment and consumer industries having anything to do with the Internet, there has been a substantial movement to object oriented programming systems.
Object oriented programming systems are event driven, i.e. the event is an outgoing notification from a given component to all other registered or interested components in the programming system. In other words, there are registered observer or consumer objects in a system which have registered an interest in selected states or attribute values of subject or supplier objects. Such changes in state or attribute values cause the supplier object to broadcast a notification of this change, which constitutes an event to all registered observers or consumers. In such systems, the supplier objects may be designed or developed without any reference as to how the consumer objects operate and new consumers or observers may be added without regard to the suppliers. The notification message may contain more information or less information, i.e. events about the nature of the changes in the supplier and the observer or consumer may take place, i.e. filter out whatever details or events that it is interested in. A general recitation about the handling of events notification between producers or suppliers and consumers may be found in the above-referenced Just Java text at pp. 198-205. As mentioned above, the consumer objects generally use filtering objects respectively associated with the consumer objects to parse or filter out from the broadcast events transmitted from the supplier objects, those events selected by the particular consumer objects. Filter objects are described in the above text, Just Java at pp. 292-301.
While such event notification processes have been quite effective in the distribution of event data from a plurality of suppliers to pluralities of consumers, problems are encountered when it is desired to modify or replace the filter objects associated with particular consumers of event data or otherwise take the consumer objects “off line” during continuous runs of the event notification and distribution systems, which, because of the extensive numbers of suppliers and consumers, often seems to be continuously running. Accordingly, any interruption of the event notification system for any change is not practical.